The first decades of the computer revolution were focused on the processor. Now that processors are arbitrarily small, arbitrarily fast, and inexpensive, it has become possible to make a shift away from a world containing a small number of large, line-powered non-mobile computer systems, to a world in which lots of people have computers and the computers are small, portable, and battery powered. Graphical user interfaces are now common, representing a shift in the user interface away from the character-oriented user input devices and displays of the past. But at the same time that graphical user interfaces have become commonplace, the personal computer has also been shrinking. Formerly the size of the processor and associated electronics was so great that there was little reason to try to miniaturize anything else. Nowadays the designer of a personal computer faces a design environment in which the processor is quite small, and the limiting factors for package size are the dimensions of the screen, the keyboard and pointing device, and the battery. The screen, keyboard, and battery have yielded to the engineers' energies to the extent possible at the present time, leaving the pointing device as one of the few remaining targets of miniaturization efforts. The classic track ball and mouse have too many moving parts and are too bulky for today's smallest computers, leaving the force-sensitive joystick as a very popular pointing device for user input.
The force-sensitive joystick presents itself to the consumer as a resilient button in the lower center of the keyboard, looking much like a pencil eraser. The button (60 in FIG. 1) connects to a small strain gauge 61 that is hidden from the view of the consumer. In a typical prior-art embodiment the strain gauge 61 is a four-wire device as shown in FIG. 1, defined by the variable resistors 62-65 in FIG. 1. An excitation signal (power and ground in FIG. 1) is applied to the strain gauge. Two of the resistors 62-63 define a voltage divider with an output 66 indicative of vertical displacement of the pointing device. The remaining resistors 64-65 define a voltage divider with an output 67 indicative of horizontal displacement of the pointing device. One may think of these resistors as comprising a potentiometer, since the usual result of displacement the pointing device is that one resistor increases its resistance and the other resistor decreases its resistance. As a general matter the result is that the potential measurable at the output is monotonically related to the displacement of the pointing device.
At this point the mechanical engineer's duties are completed and the electrical engineer must find a way (box 68 in FIG. 1) to process the two outputs, to convert them to digital values, and to make them available to software on digital data lines 73-74 for processing. In software the absolute position of the button 60 is converted to a velocity value, which in practical terms means that force is converted to speed of the cursor, a conversion that is well known to those in the art and plays no part in the present invention. The signal processing circuitry 68 will typically contain amplifiers and analog-to-digital converters such as amplifiers 69-70 and A/D converters 71-72.
The design of the signal processing circuitry is not easy. One enormous difficulty comes from the fact that the resistors 62-65 don't vary much in value in response to the user input at button 60. The voltage change detectable at 66 or 67 is quite subtle, on the order of 300 to 500 microvolts. This requires a high gain in the amplifiers 69-70. Another constraint is that the analog-to-digital converters (A/D converters) available for use by the engineer present a tradeoff of cost versus dynamic range. An eight-bit A/D converter is not very expensive, but a higher-resolution A/D converter is more expensive by at least an order of magnitude. This means that one must find a way to get by with an inexpensive A/D converter. But the dynamic range of the A/D converter is not very great, and the necessarily highly amplified signals from the high-gain amplifiers 69-70 are likely to swing beyond the end points of the input range of the A/D converters and into saturation at the power rails.
The hard times presented by having to do analog-to-digital conversions on small-amplitude signals lead to desperate measures. FIG. 2 shows one prior-art approach to the problem, in which only one of the two axes of the pointing device is shown for clarity. Line 78 carries the signal from voltage divider 62-63 to differential amplifier 80, where it is amplified and provided to analog-to-digital converter 71. When the first measurement is made (for example, upon power-up of the system), the system is powered up through switch 172 controllable by the microcontroller, and a programmable potentiometer 76 is used to "zero" the signal at 83 to the A/D converter. Potentiometer 76 is used with resistors 72, 122 and 123 to form a voltage divider which defines a Wheatstone bridge with voltage divider 62-63. Under control of microcontroller 81, the potentiometer 76 is adjusted to give a "zero" at the input to the A/D converter. The programmed setting of the potentiometer is noted and stored if necessary within the microcontroller 81.
It will be appreciated that the programmable potentiometer, together with its applied potentials, may be thought of as a digital-to-analog (D/A) converter. The microcontroller 81 is preferably a single-chip controller with a built-in A/D converter, but could more generally be any processor executing a suitable stored program.
The term "zero" in this context is in fact an arbitrary term, and in fact the potentiometer is used to cause the signal to the A/D converter to rest at some level that is convenient for measurement. In the system of FIG. 2 the output of the op amp swings between 0 and 5 volts, in which case the convenient value is about 2.5 volts, selected because the op amp is linear in that range and the dynamic range is centered about that value. Thus, 2.5 volts is rather arbitrarily defined as "zero" or "null" for purposes of the subsequent A/D conversion. At later times when it is desired to know the position of the pointing device, the switch 172 is again turned on, and vertical deflection of the button 60 changes the values of resistors 62-63. The changed voltage at 78 yields a difference with the potentiometer wiper voltage at 79, and thus a nonzero signal at 83. This signal is converted to digital data for line 82.
It will be appreciated that the arrangement of FIG. 2 does function. But it will be appreciated by those skilled in the art that the arrangement of FIG. 2 is but one of at least two signal processing channels. The total component count includes not one but two programmable potentiometers, as well as expensive and high-precision components (resistors, capacitors, and amplifiers) elsewhere in the channels.
It is desirable to have a signal processing system for strain-gauge pointing devices having a reduced parts count, and permitting the use of relatively inexpensive low-tolerance components. It is likewise desirable to have a signal processing system in which the components can process signals from two or three or more strain gauges, permitting additional inputs by users without a linear increase in the number of signal processing components.